home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / pc_board / pcbss20.zip / ORDER.DEF < prev    next >
Text File  |  1991-06-17  |  6KB  |  241 lines

  1.  
  2.   LOADMSG "                        Loading Script. Please wait..."
  3.  
  4. ; Background (first digit)      Foreground (second digit)
  5. ; ------------------------      -------------------------
  6. ; Black   =  0                   Black   =  0
  7. ; Blue    =  1                   Blue    =  1
  8. ; Green   =  2                   Green   =  2
  9. ; Cyan    =  3                   Cyan    =  3
  10. ; Red     =  4                   Red     =  4
  11. ; Magenta =  5                   Magenta =  5
  12. ; Yellow  =  6                   Yellow  =  6
  13. ; White   =  7                   White   =  7
  14. ;
  15. ; Background w/Blinking          High Intensity Foregounds
  16. ; ------------------------      -------------------------
  17. ; Black   =  8                   Black   =  8
  18. ; Blue    =  9                   Blue    =  9
  19. ; Green   =  A                   Green   =  A
  20. ; Cyan    =  B                   Cyan    =  B
  21. ; Red     =  C                   Red     =  C
  22. ; Magenta =  D                   Magenta =  D
  23. ; Yellow  =  E                   Yellow  =  E
  24. ; White   =  F                   White   =  F
  25. ;
  26.  
  27.   FLUSH_KB
  28.   BEEPS OFF
  29.   MIN_ATTR  BRIGHT RED BLACK
  30.   MAX_ATTR  BRIGHT BLUE BLACK
  31.   ANS_ATTR  BRIGHT YELLOW BLACK
  32.  
  33.   FIELDS
  34.     YesOrNo _ L
  35.     Op      _ C
  36.     Go      . C
  37.     INum    ..........                            C
  38.     IDesc   ..............................        C
  39.     IPrice  .........                             N
  40.     OKey    ........................................  C
  41.     OName   ........................................  C
  42.     ODate   ........                               C
  43.     OTime   ........                               C
  44.     OPhone  .................                      C
  45.     OQty    ....  N
  46.     ItemLun   . N 0
  47.     OrderLun  . N 1
  48.     Row       ..........  N
  49.     Total     ..........  N
  50.   FIELDS
  51.  
  52. ;
  53. ;----------------------------------------------------------------------
  54. ; Inventory file format
  55. ;
  56.   FORMAT ItemFmt
  57.     INum
  58.     IDesc
  59.     IPrice
  60.   FORMAT
  61. ;
  62. ;----------------------------------------------------------------------
  63. ; Order file format
  64. ;
  65.   FORMAT OrderFmt
  66.     OKey
  67.     OName
  68.     OPhone
  69.     ODate
  70.     OTime
  71.     OQty
  72.     INum
  73.     IDesc
  74.     IPrice
  75.   FORMAT
  76.  
  77. ;
  78. ;----------------------------------------------------------------------
  79. ; Open data files
  80. ;
  81.   OPENFILE ItemLun  J:\PCB\DOOR\ITEM.DAT
  82.   OPENFILE OrderLun J:\PCB\DOOR\ORDER.DAT
  83.  
  84. ;
  85. ;----------------------------------------------------------------------
  86. ; Prompt user for option
  87. ;
  88. :GetOp
  89.   SET Op
  90.   CLEARLINES 1 23
  91.   COLOR BRIGHT WHITE BLUE
  92.   REPEAT   2 1 " " 80
  93.   DISPLAYC 2 "Order Main Menu"
  94.  
  95.   COLOR BRIGHT WHITE BLACK
  96.   REPEAT  1 1 "─" 80
  97.   REPEAT  3 1 "─" 80
  98.   REPEAT 22 1 "─" 80
  99.  
  100.   DISPLAY 8  32  "@X0FL@X08...@X0EList Items"
  101.   DISPLAY 9  32  "@X0FO@X08...@X0EOrder Item"
  102.   DISPLAY 10 32  "@X0FE@X08...@X0EExit"
  103.   COLOR BRIGHT YELLOW BLACK
  104.   ACCEPT  13 32 "@X0BSelect Option: " Op
  105.  
  106.   UCASE Op
  107.   SWITCH  Op
  108.     CASE  "E"
  109.       GOTO Done
  110.       BREAK
  111.     CASE  "L"
  112.       GOTO List
  113.       BREAK
  114.     CASE  "O"
  115.       GOTO Order
  116.       BREAK
  117.   SWITCH  END
  118.   GOTO GetOp TOP
  119. ;
  120. ;----------------------------------------------------------------------
  121. ; list items in ITEM.DAT file
  122. ;
  123. :List
  124.   CLEARLINES 1 23
  125.   COLOR BRIGHT WHITE BLUE
  126.   REPEAT   2 1 " " 80
  127.   REPEAT   4 1 " " 80
  128.   DISPLAYC 2 "Item List"
  129.   DISPLAY  4 15 "Item"
  130.   DISPLAY  4 22 "Description"
  131.   DISPLAY  4 60 "Price"
  132.  
  133.   COLOR BRIGHT WHITE BLACK
  134.   REPEAT  1 1 "─" 80
  135.   REPEAT  3 1 "─" 80
  136.   REPEAT  5 1 "─" 80
  137.   REPEAT 22 1 "─" 80
  138.   COLOR BRIGHT YELLOW BLACK
  139.  
  140.   MAX_ATTR  BLACK BLACK
  141.   ANS_ATTR  BLACK BLACK
  142.  
  143.   GOTORC 7 1
  144.   SET Row 7
  145.   READFILE ItemLun ItemFmt "*BOF*"    ;pos to bof
  146.  
  147. :List1
  148.   READFILE ItemLun ItemFmt            ;read next seq rec
  149.   IF @file_stat@ != "*OK*"            ;chk for err
  150.     GOTO List9                        ;exit list if err (eof)
  151.   ENDIF                               ;
  152.  
  153.   DISPLAY Row 15 INum
  154.   DISPLAY Row 22 IDesc
  155.   DISPLAY Row 60 IPrice
  156.  
  157.   INC Row
  158.   IF Row > 18
  159.     ACCEPT 20 28 "Press ENTER to continue" Go
  160.     CLEARLINES 6 20
  161.     SET Row 7
  162.   ENDIF
  163.   GOTO List1 TOP
  164.  
  165. :List9
  166.   ACCEPT 20 28 "Press ENTER to continue" Go
  167.   ANS_ATTR  BRIGHT YELLOW BLACK
  168.   MAX_ATTR  BRIGHT BLUE BLACK
  169.   GOTO GetOp
  170.  
  171. ;
  172. ;----------------------------------------------------------------------
  173. ; Place an order
  174. ;
  175. :Order
  176.   CLEARLINES 6 21
  177.   COLOR BRIGHT WHITE BLUE
  178.   REPEAT   2 1 " " 80
  179.   DISPLAYC 2 "Order Entry"
  180.  
  181.   COLOR BRIGHT WHITE BLACK
  182.   REPEAT  1 1 "─" 80
  183.   REPEAT  3 1 "─" 80
  184.   REPEAT 22 1 "─" 80
  185.  
  186. :GetItem
  187.   SET INum
  188.   COLOR BRIGHT YELLOW BLACK
  189.   ACCEPT 7 10 "Item Number to order: " INum
  190.   REPEAT 7 45 " " 30
  191.   NULL_ENTRY Order9
  192.  
  193.   READFILE ItemLun ItemFmt INum
  194.   IF @file_stat@ != "*OK*"            ;chk for err
  195.     DISPLAY 7 45  "Item not on file : " INum
  196.     GOTO GetItem TOP
  197.   ENDIF
  198.  
  199.   DISPLAY 8 10 "         Description: " IDesc
  200.   DISPLAY 9 10 "          Unit Price: " IPrice
  201.  
  202.   SET OQty 1
  203.   ACCEPT 10 10 "   Quantity to order: " OQty
  204.   IF OQty == 0
  205.     CLEARLINES 8 21
  206.     GOTO GetItem TOP
  207.   ENDIF
  208.  
  209.   MUL Total OQty IPrice
  210.   REPEAT  11 31 "-" 10
  211.   DISPLAY 12 31 Total
  212.  
  213.   SET YesOrNo
  214.   ACCEPT 15 28 "Is this correct? " YesOrNo
  215.   IF YesOrNo == "N"
  216.     CLEARLINES 8 21
  217.     GOTO GetItem TOP
  218.   ENDIF
  219.  
  220.   SET OKey    @sysdate@ @systime@
  221.   SET OName   @user@
  222.   SET OPhone  @homephone@
  223.   SET ODate   @sysdate@
  224.   SET OTime   @systime@
  225.   WRITEFILE OrderLun OrderFmt
  226.   CLEARLINES 6 21
  227.   GOTO GetItem TOP
  228.  
  229. :Order9
  230.   GOTO GetOp
  231.  
  232. ;
  233. ;----------------------------------------------------------------------
  234. ; all done. return to bbs........
  235. ;
  236. :Done
  237.   CLOSEFILE ItemLun
  238.   CLOSEFILE OrderLun
  239.   CLEARCRT
  240.   EXIT
  241.